/* 
 * Gneat (http://gneat.org)
 *
 * (C) Copyright 2011 and beyond - Claudio Stella, all rights reserved.
 *
 * This file is part of Gneat.
 *
 * Gneat is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License (LGPL)
 * as published by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Gneat is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * and the GNU General Public License, for completeness, along with Gneat.  
 * If not, see <http://www.gnu.org/licenses/>.
 */
package org.neatshell.gneat.client.guice;

import org.neatshell.gneat.client.presenter.html.APresenter;
import org.neatshell.gneat.client.presenter.html.BodyPresenter;
import org.neatshell.gneat.client.presenter.html.DivPresenter;
import org.neatshell.gneat.client.presenter.html.FormPresenter;
import org.neatshell.gneat.client.presenter.html.HeadPresenter;
import org.neatshell.gneat.client.presenter.html.HtmlPresenter;
import org.neatshell.gneat.client.presenter.html.IFramePresenter;
import org.neatshell.gneat.client.presenter.html.ImgPresenter;
import org.neatshell.gneat.client.presenter.html.RootBodyPresenter;
import org.neatshell.gneat.client.presenter.html.RootHeadPresenter;
import org.neatshell.gneat.client.presenter.html.RootHtmlPresenter;
import org.neatshell.gneat.client.presenter.html.SpanPresenter;
import org.neatshell.gneat.client.presenter.html.TablePresenter;
import org.neatshell.gneat.client.presenter.html.form.FieldSetPresenter;
import org.neatshell.gneat.client.presenter.html.form.LabelPresenter;
import org.neatshell.gneat.client.presenter.html.form.LegendPresenter;
import org.neatshell.gneat.client.presenter.html.form.SelectPresenter;
import org.neatshell.gneat.client.presenter.html.form.TextareaPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.PushButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.ResetButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.SubmitButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputCheckboxPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputFilePresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputHiddenPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputImagePresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputPasswordPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputRadioPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputResetPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputSubmitPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputTextPresenter;
import org.neatshell.gneat.client.presenter.html.form.select.OptgroupPresenter;
import org.neatshell.gneat.client.presenter.html.form.select.OptionPresenter;
import org.neatshell.gneat.client.presenter.html.list.LiPresenter;
import org.neatshell.gneat.client.presenter.html.list.UlPresenter;
import org.neatshell.gneat.client.presenter.html.table.CaptionPresenter;
import org.neatshell.gneat.client.presenter.html.table.ColPresenter;
import org.neatshell.gneat.client.presenter.html.table.ColgroupPresenter;
import org.neatshell.gneat.client.presenter.html.table.TbodyPresenter;
import org.neatshell.gneat.client.presenter.html.table.TdPresenter;
import org.neatshell.gneat.client.presenter.html.table.TfootPresenter;
import org.neatshell.gneat.client.presenter.html.table.ThPresenter;
import org.neatshell.gneat.client.presenter.html.table.TheadPresenter;
import org.neatshell.gneat.client.presenter.html.table.TrPresenter;
import org.neatshell.gneat.client.view.dead.html.ADeadView;
import org.neatshell.gneat.client.view.dead.html.BodyDeadView;
import org.neatshell.gneat.client.view.dead.html.DivDeadView;
import org.neatshell.gneat.client.view.dead.html.FormDeadView;
import org.neatshell.gneat.client.view.dead.html.HeadDeadView;
import org.neatshell.gneat.client.view.dead.html.HtmlDeadView;
import org.neatshell.gneat.client.view.dead.html.IFrameDeadView;
import org.neatshell.gneat.client.view.dead.html.ImgDeadView;
import org.neatshell.gneat.client.view.dead.html.RootBodyDeadView;
import org.neatshell.gneat.client.view.dead.html.RootHeadDeadView;
import org.neatshell.gneat.client.view.dead.html.RootHtmlDeadView;
import org.neatshell.gneat.client.view.dead.html.SpanDeadView;
import org.neatshell.gneat.client.view.dead.html.TableDeadView;
import org.neatshell.gneat.client.view.dead.html.form.FieldSetDeadView;
import org.neatshell.gneat.client.view.dead.html.form.LabelDeadView;
import org.neatshell.gneat.client.view.dead.html.form.LegendDeadView;
import org.neatshell.gneat.client.view.dead.html.form.SelectDeadView;
import org.neatshell.gneat.client.view.dead.html.form.TextareaDeadView;
import org.neatshell.gneat.client.view.dead.html.form.button.PushButtonDeadView;
import org.neatshell.gneat.client.view.dead.html.form.button.ResetButtonDeadView;
import org.neatshell.gneat.client.view.dead.html.form.button.SubmitButtonDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputButtonDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputCheckboxDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputFileDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputHiddenDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputImageDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputPasswordDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputRadioDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputResetDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputSubmitDeadView;
import org.neatshell.gneat.client.view.dead.html.form.input.InputTextDeadView;
import org.neatshell.gneat.client.view.dead.html.form.select.OptgroupDeadView;
import org.neatshell.gneat.client.view.dead.html.form.select.OptionDeadView;
import org.neatshell.gneat.client.view.dead.html.list.LiDeadView;
import org.neatshell.gneat.client.view.dead.html.list.UlDeadView;
import org.neatshell.gneat.client.view.dead.html.table.CaptionDeadView;
import org.neatshell.gneat.client.view.dead.html.table.ColDeadView;
import org.neatshell.gneat.client.view.dead.html.table.ColgroupDeadView;
import org.neatshell.gneat.client.view.dead.html.table.TbodyDeadView;
import org.neatshell.gneat.client.view.dead.html.table.TdDeadView;
import org.neatshell.gneat.client.view.dead.html.table.TfootDeadView;
import org.neatshell.gneat.client.view.dead.html.table.ThDeadView;
import org.neatshell.gneat.client.view.dead.html.table.TheadDeadView;
import org.neatshell.gneat.client.view.dead.html.table.TrDeadView;

import com.google.inject.AbstractModule;

public class HtmlDeadClientModule extends AbstractModule {
	protected void configure() {
		bind(HtmlPresenter.IView.class).to(HtmlDeadView.class);
		bind(HeadPresenter.IView.class).to(HeadDeadView.class);
		bind(BodyPresenter.IView.class).to(BodyDeadView.class);

		bind(RootHtmlPresenter.IView.class).to(RootHtmlDeadView.class);
		bind(RootHeadPresenter.IView.class).to(RootHeadDeadView.class);
		bind(RootBodyPresenter.IView.class).to(RootBodyDeadView.class);
		
		//html4
		bind(APresenter.IView.class).to(ADeadView.class);
		bind(DivPresenter.IView.class).to(DivDeadView.class);
		bind(FormPresenter.IView.class).to(FormDeadView.class);
		bind(IFramePresenter.IView.class).to(IFrameDeadView.class);
		bind(ImgPresenter.IView.class).to(ImgDeadView.class);
		bind(SpanPresenter.IView.class).to(SpanDeadView.class);		
		bind(TablePresenter.IView.class).to(TableDeadView.class);

		//html4.form
		bind(FieldSetPresenter.IView.class).to(FieldSetDeadView.class);
		bind(LabelPresenter.IView.class).to(LabelDeadView.class);
		bind(LegendPresenter.IView.class).to(LegendDeadView.class);
		bind(SelectPresenter.IView.class).to(SelectDeadView.class);
		bind(TextareaPresenter.IView.class).to(TextareaDeadView.class);

		//html4.form.button
		bind(PushButtonPresenter.IView.class).to(PushButtonDeadView.class);
		bind(ResetButtonPresenter.IView.class).to(ResetButtonDeadView.class);
		bind(SubmitButtonPresenter.IView.class).to(SubmitButtonDeadView.class);

		//html4.form.input
		bind(InputButtonPresenter.IView.class).to(InputButtonDeadView.class);
		bind(InputCheckboxPresenter.IView.class).to(InputCheckboxDeadView.class);
		bind(InputFilePresenter.IView.class).to(InputFileDeadView.class);
		bind(InputHiddenPresenter.IView.class).to(InputHiddenDeadView.class);
		bind(InputImagePresenter.IView.class).to(InputImageDeadView.class);
		bind(InputPasswordPresenter.IView.class).to(InputPasswordDeadView.class);
		bind(InputRadioPresenter.IView.class).to(InputRadioDeadView.class);
		bind(InputResetPresenter.IView.class).to(InputResetDeadView.class);
		bind(InputSubmitPresenter.IView.class).to(InputSubmitDeadView.class);
		bind(InputTextPresenter.IView.class).to(InputTextDeadView.class);

		//html4.form.select
		bind(OptgroupPresenter.IView.class).to(OptgroupDeadView.class);
		bind(OptionPresenter.IView.class).to(OptionDeadView.class);

		//html4.list
		bind(LiPresenter.IView.class).to(LiDeadView.class);
		bind(UlPresenter.IView.class).to(UlDeadView.class);		
		
		//html4.table
		bind(CaptionPresenter.IView.class).to(CaptionDeadView.class);
		bind(ColgroupPresenter.IView.class).to(ColgroupDeadView.class);
		bind(ColPresenter.IView.class).to(ColDeadView.class);
		bind(TbodyPresenter.IView.class).to(TbodyDeadView.class);
		bind(TdPresenter.IView.class).to(TdDeadView.class);
		bind(TfootPresenter.IView.class).to(TfootDeadView.class);
		bind(TheadPresenter.IView.class).to(TheadDeadView.class);
		bind(ThPresenter.IView.class).to(ThDeadView.class);
		bind(TrPresenter.IView.class).to(TrDeadView.class);
	}
}